<?php
/**
 * В этом файле описываются сигналы, url и подключения (слоты) за которые отвечают игровые классы конкретного проекта
 * В поставку эти классы не входят и разрабатываются непосредственно разработчиками игрового проекта.
 * 
 * ВСе сигналы должны иметь префикс game_
 */

class Game_connectManager
{
	static $prefix = array('game_'); //префикс для сигналов
	
	
	/**
	 * Возвращает массив роутинга URL на сигналы для подключения к основному.
	 * @return Array
	 */
	static public function exportRouting()
	{
		return Array();
	}
	
	//только одна функция, которая определяет, кто из игровых дочерних классов отвечает за сигнал	
	static public function signalManager($signal = null, $router = null )
	{
		if ( (empty($signal)) || (empty($router)) || (!is_object($router)) ) return false;
		else
			{
				//допустим, у нас сигнал agp_test_signal
				// $router->connect($signal, $connector);
				// return true; //обязательно вернуть true если нашли сигнал и false, если нет
				
				return false;
			}
	}
	
	/**
	 * ACL constructor
	 * @see http://framework.zend.com/manual/ru/zend.acl.html
	 * @return 
	 * @param object $acl[optional]
	 */
	static public function exportACL($acl = null)
	{
		if ((!is_object($acl)) || (empty($acl))) return false;
		else
		{
			//write your acl rule and define all
			//!INFO: Обязательно документируйте все свои роли и ресурсы, лучше всего с использованием префиксов
		}
	}
}
